package com.jie.server.modules.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jie.server.modules.system.entity.Dict;

import java.util.List;

/**
 * @description: 字典表Service接口
 * @author: xiaojie
 * @since: 2024/12/13 0013
 */
public interface IDictService extends IService<Dict> {

    /**
     * 查询字典表
     * @param dictId 字典表主键
     * @return 字典表
     */
    Dict selectDictByDictId(Long dictId);

    /**
     * 查询字典表列表
     * @param dict 字典表
     * @return 字典表集合
     */
    List<Dict> selectDictList(Dict dict);

    /**
     * 新增字典表
     * @param dict 字典表
     * @return 结果
     */
    boolean create(Dict dict);

    /**
     * 修改字典表
     * @param dict 字典表
     * @return 结果
     */
    boolean update(Dict dict);

    /**
     * 批量删除字典表
     *
     * @param dictIds 需要删除的字典表主键集合
     * @return 结果
     */
    int deleteDictByDictIds(Long[] dictIds);

    /**
     * 删除字典表信息
     *
     * @param dictId 字典表主键
     * @return 结果
     */
    int deleteDictByDictId(Long dictId);

    /**
     * 根据所有字典类型
     * @return 字典类型集合信息
     */
    List<Dict> selectDictTypeAll();

    /**
     * 加载字典缓存数据
     */
    void loadingDictCache();

    /**
     * 清空字典缓存数据
     */
    void clearDictCache();

    /**
     * 重置字典缓存数据
     */
    void resetDictCache();

}
